import 'package:get/get.dart';
import 'package:flutter/material.dart';
import 'package:app_core/app_core.dart';
import 'app_base_logic.dart';

/// 示例数据模型
class ExampleItem {
  final String id;
  final String title;
  final String description;

  ExampleItem({
    required this.id,
    required this.title,
    required this.description,
  });
}

/// 空状态示例Logic类
class EmptyStateExampleLogic extends AppBaseLogic {
  /// 数据列表
  final dataList = <ExampleItem>[].obs;
  
  @override
  void onInit() {
    super.onInit();
    YHLog.i('EmptyStateExampleLogic初始化');
    
    // 模拟初始加载
    loadData();
  }

  /// 加载数据
  Future<void> loadData() async {
    YHLog.i('开始加载数据');
    
    try {
      // 模拟网络延迟
      await Future.delayed(const Duration(seconds: 1));
      
      // 模拟随机数据
      final random = DateTime.now().millisecond % 3;
      
      if (random == 0) {
        // 空数据
        dataList.clear();
      } else {
        // 有数据
        dataList.value = [
          ExampleItem(id: '1', title: '示例项目1', description: '这是第一个示例项目'),
          ExampleItem(id: '2', title: '示例项目2', description: '这是第二个示例项目'),
          ExampleItem(id: '3', title: '示例项目3', description: '这是第三个示例项目'),
        ];
      }
      
      YHLog.i('数据加载完成，数量：${dataList.length}');
    } catch (e) {
      YHLog.e('加载数据失败: $e');
      YHSmartDialog.showErrorMsg(e.toString());
    }
  }

  /// 添加示例数据
  void addExampleData() {
    final newItem = ExampleItem(
      id: DateTime.now().millisecondsSinceEpoch.toString(),
      title: '新项目${dataList.length + 1}',
      description: '这是新添加的项目',
    );
    dataList.add(newItem);
    YHSmartDialog.showSuccessMsg('添加成功！');
  }

  /// 删除数据
  void deleteItem(String id) {
    dataList.removeWhere((item) => item.id == id);
    YHSmartDialog.showSuccessMsg('删除成功！');
  }

  /// 清空数据
  void clearData() {
    dataList.clear();
    YHSmartDialog.showSuccessMsg('数据已清空！');
  }

  @override
  Future<void> onRefresh() async {
    await loadData();
  }
}
